/*
 * Powered By [Seven]
 * Since 2016 - 2019
 */


package com.czmh.etc.onlinepubsys.model;

import lombok.AllArgsConstructor;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "etc_apply")
@AllArgsConstructor
public class EtcApply extends BaseModel {

    //alias
    public static final String TABLE_ALIAS = "EtcApply";
    public static final String ALIAS_APPLY_ID = "申请ID";
    public static final String ALIAS_USER_ID = "用户id";
    public static final String ALIAS_APPLY_TYPE = "申办类型：1个人，2企业";
    public static final String ALIAS_APPLY_CARLICENCE = "车牌号码";
    public static final String ALIAS_APPLY_CARLICENCETYOE = "车牌号码类型";
    public static final String ALIAS_APPLY_NAME = "车主姓名";
    public static final String ALIAS_APPLY_IDCARD = "车主身份证号码";
    public static final String ALIAS_APPLY_CAROWNERIDCARDFRONTALPHOTO = "车主身份证正面照片";
    public static final String ALIAS_APPLY_CAROWNERIDCARDREVERSEPHOTO = "车主身份证反面照片";
    public static final String ALIAS_APPLY_DRIVINGLICENCEFRONTALPHOTO = "行驶证正面照片";
    public static final String ALIAS_APPLY_DRIVINGLICENCEREVERSEPHOTO = "行驶证反面照片";
    public static final String ALIAS_APPLY_CARHEADPHOTO = "车头照片";
    public static final String ALIAS_APPLY_MANNEDNUM = "核定载人数";
    public static final String ALIAS_APPLY_COMPANY = "企业名称";
    public static final String ALIAS_APPLY_BUSINESSLICENSEPHOTO = "营业执照";
    public static final String ALIAS_APPLY_PATTORNEYPHOTO = "委托书";
    public static final String ALIAS_APPLY_STATUS = "审核状态：0待审核，1审核通过，2审核不通过";
    public static final String ALIAS_APPLY_APPROVE_USERID = "审批人，sys_user表的id";
    public static final String ALIAS_APPLY_APPROVE_TIME = "审批时间";
    public static final String ALIAS_APPLY_REFUSEREASON = "审核不通过原因";
    public static final String ALIAS_APPLY_CHANNEL = "申办渠道：1传统渠道，2信用卡渠道";
    public static final String ALIAS_APPLY_CREDITCARD = "申办的信用卡：a表示xx银行信用卡，b表示xx银行信用卡；该字段只有在申办渠道是信用卡渠道时才有值";
    public static final String ALIAS_APPLYSTATUS = "信用卡申请提交状态 1：申请提交成功 3:  系统异常提交失败 4： 已持卡客户 5：6个月内线上重复申请客户 0：其他 1为提交成功，其余都为提交失败类";
    public static final String ALIAS_CREDITCARD_STATE = "信用卡审批状态：0表示待审批，1表示通过，2表示拒绝；该字段只有在申请渠道为信用卡渠道时有值";
    public static final String ALIAS_SERIALNUM = "申请信用卡时的记录流水号，当申请渠道是信用卡申请时有值";
    public static final String ALIAS_CREATE_TIME = "创建时间";
    public static final String ALIAS_UPDATE_TIME = "修改时间";
    public static final String ALIAS_CAR_ID = "关联etc_car表中的主键字段，申请表关联车辆的ID";
    public static final String ALIAS_ADDRESS = "联系地址，与身份证上信息一致";

    @Id
    @Column(name = "apply_id")
    private String apply_id;
    @Column(name = "user_id")
    private String user_id;
    @Column(name = "apply_type")
    private Integer apply_type;
    @Column(name = "apply_carlicence")
    private String apply_carlicence;
    @Column(name = "apply_carlicencetyoe")
    private String apply_carlicencetyoe;
    @Column(name = "apply_name")
    private String apply_name;
    @Column(name = "apply_idcard")
    private String apply_idcard;
    @Column(name = "apply_carowneridcardfrontalphoto")
    private String apply_carowneridcardfrontalphoto;
    @Column(name = "apply_carowneridcardreversephoto")
    private String apply_carowneridcardreversephoto;
    @Column(name = "apply_drivinglicencefrontalphoto")
    private String apply_drivinglicencefrontalphoto;
    @Column(name = "apply_drivinglicencereversephoto")
    private String apply_drivinglicencereversephoto;
    @Column(name = "apply_carheadphoto")
    private String apply_carheadphoto;
    @Column(name = "apply_mannednum")
    private Integer apply_mannednum;
    @Column(name = "apply_company")
    private String apply_company;
    @Column(name = "apply_businesslicensephoto")
    private String apply_businesslicensephoto;
    @Column(name = "apply_pattorneyphoto")
    private String apply_pattorneyphoto;
    @Column(name = "apply_status")
    private Integer apply_status;
    @Column(name = "apply_approve_userid")
    private Integer apply_approve_userid;
    @Column(name = "apply_approve_time")
    private java.util.Date apply_approve_time;
    @Column(name = "apply_refusereason")
    private String apply_refusereason;
    @Column(name = "apply_channel")
    private Integer apply_channel;
    @Column(name = "apply_creditcard")
    private String apply_creditcard;
    @Column(name = "applystatus")
    private String applystatus;
    @Column(name = "creditcard_state")
    private Integer creditcard_state;
    @Column(name = "obu_status")
    private Integer obu_status;
    @Column(name = "serialnum")
    private String serialnum;
    @Column(name = "createtime")
    private java.util.Date createtime;
    @Column(name = "updatetime")
    private java.util.Date updatetime;
    @Column(name = "car_id")
    private String car_id;
    @Column(name = "address")
    private String address;
    @Column(name = "niurunApplyId")
    private String niurunApplyId;
    @Column(name = "cardCatId")
    private String cardCatId;
    @Column(name = "capitalAccount")
    private String capitalAccount;
    //columns END

    public EtcApply() {
    }

    public EtcApply(String apply_id) {
        this.apply_id = apply_id;
    }

    /**
     * 设置申请ID
     *
     * @param apply_id 申请ID
     */
    public void setApply_id(String apply_id) {
        this.apply_id = apply_id;
    }

    /**
     * 获取申请ID
     *
     * @return apply_id 申请ID
     */
    public String getApply_id() {
        return this.apply_id;
    }

    /**
     * 设置用户id
     *
     * @param user_id 用户id
     */
    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }

    /**
     * 获取用户id
     *
     * @return user_id 用户id
     */
    public String getUser_id() {
        return this.user_id;
    }

    /**
     * 设置申办类型：1个人，2企业
     *
     * @param apply_type 申办类型：1个人，2企业
     */
    public void setApply_type(Integer apply_type) {
        this.apply_type = apply_type;
    }

    /**
     * 获取申办类型：1个人，2企业
     *
     * @return apply_type 申办类型：1个人，2企业
     */
    public Integer getApply_type() {
        return this.apply_type;
    }

    /**
     * 设置车牌号码
     *
     * @param apply_carlicence 车牌号码
     */
    public void setApply_carlicence(String apply_carlicence) {
        this.apply_carlicence = apply_carlicence;
    }

    /**
     * 获取车牌号码
     *
     * @return apply_carlicence 车牌号码
     */
    public String getApply_carlicence() {
        return this.apply_carlicence;
    }

    /**
     * 设置车牌号码类型
     *
     * @param apply_carlicencetyoe 车牌号码类型
     */
    public void setApply_carlicencetyoe(String apply_carlicencetyoe) {
        this.apply_carlicencetyoe = apply_carlicencetyoe;
    }

    /**
     * 获取车牌号码类型
     *
     * @return apply_carlicencetyoe 车牌号码类型
     */
    public String getApply_carlicencetyoe() {
        return this.apply_carlicencetyoe;
    }

    /**
     * 设置车主姓名
     *
     * @param apply_name 车主姓名
     */
    public void setApply_name(String apply_name) {
        this.apply_name = apply_name;
    }

    /**
     * 获取车主姓名
     *
     * @return apply_name 车主姓名
     */
    public String getApply_name() {
        return this.apply_name;
    }

    /**
     * 设置车主身份证号码
     *
     * @param apply_idcard 车主身份证号码
     */
    public void setApply_idcard(String apply_idcard) {
        this.apply_idcard = apply_idcard;
    }

    /**
     * 获取车主身份证号码
     *
     * @return apply_idcard 车主身份证号码
     */
    public String getApply_idcard() {
        return this.apply_idcard;
    }

    /**
     * 设置车主身份证正面照片
     *
     * @param apply_carowneridcardfrontalphoto 车主身份证正面照片
     */
    public void setApply_carowneridcardfrontalphoto(String apply_carowneridcardfrontalphoto) {
        this.apply_carowneridcardfrontalphoto = apply_carowneridcardfrontalphoto;
    }

    /**
     * 获取车主身份证正面照片
     *
     * @return apply_carowneridcardfrontalphoto 车主身份证正面照片
     */
    public String getApply_carowneridcardfrontalphoto() {
        return this.apply_carowneridcardfrontalphoto;
    }

    /**
     * 设置车主身份证反面照片
     *
     * @param apply_carowneridcardreversephoto 车主身份证反面照片
     */
    public void setApply_carowneridcardreversephoto(String apply_carowneridcardreversephoto) {
        this.apply_carowneridcardreversephoto = apply_carowneridcardreversephoto;
    }

    /**
     * 获取车主身份证反面照片
     *
     * @return apply_carowneridcardreversephoto 车主身份证反面照片
     */
    public String getApply_carowneridcardreversephoto() {
        return this.apply_carowneridcardreversephoto;
    }

    /**
     * 设置行驶证正面照片
     *
     * @param apply_drivinglicencefrontalphoto 行驶证正面照片
     */
    public void setApply_drivinglicencefrontalphoto(String apply_drivinglicencefrontalphoto) {
        this.apply_drivinglicencefrontalphoto = apply_drivinglicencefrontalphoto;
    }

    /**
     * 获取行驶证正面照片
     *
     * @return apply_drivinglicencefrontalphoto 行驶证正面照片
     */
    public String getApply_drivinglicencefrontalphoto() {
        return this.apply_drivinglicencefrontalphoto;
    }

    /**
     * 设置行驶证反面照片
     *
     * @param apply_drivinglicencereversephoto 行驶证反面照片
     */
    public void setApply_drivinglicencereversephoto(String apply_drivinglicencereversephoto) {
        this.apply_drivinglicencereversephoto = apply_drivinglicencereversephoto;
    }

    /**
     * 获取行驶证反面照片
     *
     * @return apply_drivinglicencereversephoto 行驶证反面照片
     */
    public String getApply_drivinglicencereversephoto() {
        return this.apply_drivinglicencereversephoto;
    }

    /**
     * 设置车头照片
     *
     * @param apply_carheadphoto 车头照片
     */
    public void setApply_carheadphoto(String apply_carheadphoto) {
        this.apply_carheadphoto = apply_carheadphoto;
    }

    /**
     * 获取车头照片
     *
     * @return apply_carheadphoto 车头照片
     */
    public String getApply_carheadphoto() {
        return this.apply_carheadphoto;
    }

    /**
     * 设置核定载人数
     *
     * @param apply_mannednum 核定载人数
     */
    public void setApply_mannednum(Integer apply_mannednum) {
        this.apply_mannednum = apply_mannednum;
    }

    /**
     * 获取核定载人数
     *
     * @return apply_mannednum 核定载人数
     */
    public Integer getApply_mannednum() {
        return this.apply_mannednum;
    }

    /**
     * 设置企业名称
     *
     * @param apply_company 企业名称
     */
    public void setApply_company(String apply_company) {
        this.apply_company = apply_company;
    }

    /**
     * 获取企业名称
     *
     * @return apply_company 企业名称
     */
    public String getApply_company() {
        return this.apply_company;
    }

    /**
     * 设置营业执照
     *
     * @param apply_businesslicensephoto 营业执照
     */
    public void setApply_businesslicensephoto(String apply_businesslicensephoto) {
        this.apply_businesslicensephoto = apply_businesslicensephoto;
    }

    /**
     * 获取营业执照
     *
     * @return apply_businesslicensephoto 营业执照
     */
    public String getApply_businesslicensephoto() {
        return this.apply_businesslicensephoto;
    }

    /**
     * 设置委托书
     *
     * @param apply_pattorneyphoto 委托书
     */
    public void setApply_pattorneyphoto(String apply_pattorneyphoto) {
        this.apply_pattorneyphoto = apply_pattorneyphoto;
    }

    /**
     * 获取委托书
     *
     * @return apply_pattorneyphoto 委托书
     */
    public String getApply_pattorneyphoto() {
        return this.apply_pattorneyphoto;
    }

    /**
     * 设置审核状态：0待审核，1审核通过，2审核不通过
     *
     * @param apply_status 审核状态：0待审核，1审核通过，2审核不通过
     */
    public void setApply_status(Integer apply_status) {
        this.apply_status = apply_status;
    }

    /**
     * 获取审核状态：0待审核，1审核通过，2审核不通过
     *
     * @return apply_status 审核状态：0待审核，1审核通过，2审核不通过
     */
    public Integer getApply_status() {
        return this.apply_status;
    }

    /**
     * 设置审批人，sys_user表的id
     *
     * @param apply_approve_userid 审批人，sys_user表的id
     */
    public void setApply_approve_userid(Integer apply_approve_userid) {
        this.apply_approve_userid = apply_approve_userid;
    }

    /**
     * 获取审批人，sys_user表的id
     *
     * @return apply_approve_userid 审批人，sys_user表的id
     */
    public Integer getApply_approve_userid() {
        return this.apply_approve_userid;
    }

    /**
     * 设置审批时间
     *
     * @param apply_approve_time 审批时间
     */
    public void setApply_approve_time(java.util.Date apply_approve_time) {
        this.apply_approve_time = apply_approve_time;
    }

    /**
     * 获取审批时间
     *
     * @return apply_approve_time 审批时间
     */
    public java.util.Date getApply_approve_time() {
        return this.apply_approve_time;
    }

    /**
     * 设置审核不通过原因
     *
     * @param apply_refusereason 审核不通过原因
     */
    public void setApply_refusereason(String apply_refusereason) {
        this.apply_refusereason = apply_refusereason;
    }

    /**
     * 获取审核不通过原因
     *
     * @return apply_refusereason 审核不通过原因
     */
    public String getApply_refusereason() {
        return this.apply_refusereason;
    }

    /**
     * 设置申办渠道：1传统渠道，2信用卡渠道
     *
     * @param apply_channel 申办渠道：1传统渠道，2信用卡渠道
     */
    public void setApply_channel(Integer apply_channel) {
        this.apply_channel = apply_channel;
    }

    /**
     * 获取申办渠道：1传统渠道，2信用卡渠道
     *
     * @return apply_channel 申办渠道：1传统渠道，2信用卡渠道
     */
    public Integer getApply_channel() {
        return this.apply_channel;
    }

    /**
     * 设置申办的信用卡：a表示xx银行信用卡，b表示xx银行信用卡；该字段只有在申办渠道是信用卡渠道时才有值
     *
     * @param apply_creditcard 申办的信用卡：a表示xx银行信用卡，b表示xx银行信用卡；该字段只有在申办渠道是信用卡渠道时才有值
     */
    public void setApply_creditcard(String apply_creditcard) {
        this.apply_creditcard = apply_creditcard;
    }

    /**
     * 获取申办的信用卡：a表示xx银行信用卡，b表示xx银行信用卡；该字段只有在申办渠道是信用卡渠道时才有值
     *
     * @return apply_creditcard 申办的信用卡：a表示xx银行信用卡，b表示xx银行信用卡；该字段只有在申办渠道是信用卡渠道时才有值
     */
    public String getApply_creditcard() {
        return this.apply_creditcard;
    }

    /**
     * 设置信用卡申请提交状态 1：申请提交成功 3:  系统异常提交失败 4： 已持卡客户 5：6个月内线上重复申请客户 0：其他 1为提交成功，其余都为提交失败类
     *
     * @param applystatus 信用卡申请提交状态 1：申请提交成功 3:  系统异常提交失败 4： 已持卡客户 5：6个月内线上重复申请客户 0：其他 1为提交成功，其余都为提交失败类
     */
    public void setApplystatus(String applystatus) {
        this.applystatus = applystatus;
    }

    /**
     * 获取信用卡申请提交状态 1：申请提交成功 3:  系统异常提交失败 4： 已持卡客户 5：6个月内线上重复申请客户 0：其他 1为提交成功，其余都为提交失败类
     *
     * @return applystatus 信用卡申请提交状态 1：申请提交成功 3:  系统异常提交失败 4： 已持卡客户 5：6个月内线上重复申请客户 0：其他 1为提交成功，其余都为提交失败类
     */
    public String getApplystatus() {
        return this.applystatus;
    }

    /**
     * 设置信用卡审批状态：0表示待审批，1表示通过，2表示拒绝；该字段只有在申请渠道为信用卡渠道时有值
     *
     * @param creditcard_state 信用卡审批状态：0表示待审批，1表示通过，2表示拒绝；该字段只有在申请渠道为信用卡渠道时有值
     */
    public void setCreditcard_state(Integer creditcard_state) {
        this.creditcard_state = creditcard_state;
    }

    /**
     * 获取信用卡审批状态：0表示待审批，1表示通过，2表示拒绝；该字段只有在申请渠道为信用卡渠道时有值
     *
     * @return creditcard_state 信用卡审批状态：0表示待审批，1表示通过，2表示拒绝；该字段只有在申请渠道为信用卡渠道时有值
     */
    public Integer getCreditcard_state() {
        return this.creditcard_state;
    }

    /**
     * 设置申请信用卡时的记录流水号，当申请渠道是信用卡申请时有值
     *
     * @param serialnum 申请信用卡时的记录流水号，当申请渠道是信用卡申请时有值
     */
    public void setSerialnum(String serialnum) {
        this.serialnum = serialnum;
    }

    /**
     * 获取申请信用卡时的记录流水号，当申请渠道是信用卡申请时有值
     *
     * @return serialnum 申请信用卡时的记录流水号，当申请渠道是信用卡申请时有值
     */
    public String getSerialnum() {
        return this.serialnum;
    }

    public java.util.Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(java.util.Date createtime) {
        this.createtime = createtime;
    }

    public java.util.Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(java.util.Date updatetime) {
        this.updatetime = updatetime;
    }

    /**
     * 设置关联etc_car表中的主键字段，申请表关联车辆的ID
     *
     * @param car_id 关联etc_car表中的主键字段，申请表关联车辆的ID
     */
    public void setCar_id(String car_id) {
        this.car_id = car_id;
    }

    /**
     * 获取关联etc_car表中的主键字段，申请表关联车辆的ID
     *
     * @return car_id 关联etc_car表中的主键字段，申请表关联车辆的ID
     */
    public String getCar_id() {
        return this.car_id;
    }

    /**
     * 设置联系地址，与身份证上信息一致
     *
     * @param address 联系地址，与身份证上信息一致
     */
    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getObu_status() {
        return obu_status;
    }

    public void setObu_status(Integer obu_status) {
        this.obu_status = obu_status;
    }

    /**
     * 获取联系地址，与身份证上信息一致
     *
     * @return address 联系地址，与身份证上信息一致
     */
    public String getAddress() {
        return this.address;
    }

    public String getNiurunApplyId() {
        return niurunApplyId;
    }

    public void setNiurunApplyId(String niurunApplyId) {
        this.niurunApplyId = niurunApplyId;
    }

    public String getCardCatId() {
        return cardCatId;
    }

    public void setCardCatId(String cardCatId) {
        this.cardCatId = cardCatId;
    }

    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("apply_id", getApply_id())
                .append("user_id", getUser_id())
                .append("apply_type", getApply_type())
                .append("apply_carlicence", getApply_carlicence())
                .append("apply_carlicencetyoe", getApply_carlicencetyoe())
                .append("apply_name", getApply_name())
                .append("apply_idcard", getApply_idcard())
                .append("apply_carowneridcardfrontalphoto", getApply_carowneridcardfrontalphoto())
                .append("apply_carowneridcardreversephoto", getApply_carowneridcardreversephoto())
                .append("apply_drivinglicencefrontalphoto", getApply_drivinglicencefrontalphoto())
                .append("apply_drivinglicencereversephoto", getApply_drivinglicencereversephoto())
                .append("apply_carheadphoto", getApply_carheadphoto())
                .append("apply_mannednum", getApply_mannednum())
                .append("apply_company", getApply_company())
                .append("apply_businesslicensephoto", getApply_businesslicensephoto())
                .append("apply_pattorneyphoto", getApply_pattorneyphoto())
                .append("apply_status", getApply_status())
                .append("apply_approve_userid", getApply_approve_userid())
                .append("apply_approve_time", getApply_approve_time())
                .append("apply_refusereason", getApply_refusereason())
                .append("apply_channel", getApply_channel())
                .append("apply_creditcard", getApply_creditcard())
                .append("applystatus", getApplystatus())
                .append("creditcard_state", getCreditcard_state())
                .append("serialnum", getSerialnum())
                .append("createtime", getCreatetime())
                .append("updatetime", getUpdatetime())
                .append("car_id", getCar_id())
                .append("address", getAddress())
                .toString();
    }

    public int hashCode() {
        return new HashCodeBuilder()
                .append(getApply_id())
                .toHashCode();
    }

    public boolean equals(Object obj) {
        if (obj instanceof EtcApply == false) {
            return false;
        }
        if (this == obj) {
            return true;
        }
        EtcApply other = (EtcApply) obj;
        return new EqualsBuilder()
                .append(getApply_id(), other.getApply_id())
                .isEquals();
    }

    public String getCapitalAccount() {
        return capitalAccount;
    }

    public void setCapitalAccount(String capitalAccount) {
        this.capitalAccount = capitalAccount;
    }
}

